Modern telecommunication networks provide services based on call signaling. The network signaling protocol includes a service layer upon which many of the provided services are implemented. Such services include 1-800 and toll free calling, calling cards, private virtual networks, cellular registration and roaming, prepaid calling, etc.
FIG. 1 is a diagram of such a call signaling-based telecommunication network. The network includes one or more telecommunication switches 110-1 through 110-m, a signaling system 120, and one or more network control elements 130-1 through 130-n. The telecommunication switches 110 are responsible for connecting and disconnecting a telephone call and are primary originators of call signals (or call messages) during the life of the call. Typically, call signals indicate the call status or include a command to be executed by another network component with regard to the call. The signaling system 120 routes the call signals and other signals between the switches 110 and the network control elements 130. The signaling system 120 may include an intermediary routing node (not shown) that routes signals to the designated switch or control element. The network control elements 130 are responsible for providing the services on the network. The control elements 130 receive and process call signals from the switches 110 and implement the services based on the processed call signals.
An example of a call signaling-based telecommunication network is the Signaling System 7 (SS7) network. The SS7 network includes telecommunication switches called mobile switching centers (MSC), which are used primarily in mobile telephone networks. The SS7 network includes a signaling system to route call signals using a signal transfer point (STP) as an intermediary routing node. The SS7 network also includes network control elements called mobile service control points (SCP), which provide the mobile services on the network.
A goal of call signaling-based telecommunication networks is to ensure high reliability in the provided services. High reliability is more easily provided for services which involve a single call signal during the life of a telephone call, rather than for services which involve multiple call signals, perhaps from different network components, during the life of the call. However, services which involve multiple call signals tend to provide more capabilities and increased functionality for the caller and are therefore more desirable.
As stated previously, services which involve multiple call signals during the life of a telephone call are provided by network control elements. Typically, a subset of the control elements acts as the primary elements on the network for transmitting, receiving, and processing the call signals for a particular service. For reliability, the remaining control elements are used for backup, in the event that the primary elements fail. Accordingly, there is some logic or a method provided by the control elements to ensure that the call signals are correctly routed and processed during both normal and failure modes.
One method commonly used involves the originator of the call signal, i.e., the telecommunication switch, populating the header of the call signal with a string identifying the network control element to which the call signal is to be routed for processing. An intermediary routing node on the network examines the string, consults a routing table to identify the destination network control element, and then routes the call signal to the identified control element. An advantage of this method is that call signals can be easily partitioned between the network control elements. Also, a control element can be used as both a primary element for so-designated call signals and as a backup element for another control element since it is easy to identify, in a call signal, where the call signal is to be routed (or re-routed in the event of a failure). As such, several control elements may be active concurrently.
For example, in the SS7 network, call signals may be set up to go to SCP A as the primary control element for 1-800 and other toll free calling service having telephone numbers in range A, with SCP B as the backup control element if SCP A fails. Similarly, call signals may be set up to go to SCP B as the primary control element for 1-800 and other toll free calling service having telephone numbers in range B, with SCP A as the backup control element if SCP B fails. When a caller makes a 1-800 or other toll free call, an MSC originates the call signals on the network, including an identifier for either SCP A or B (depending on the range within which the 1-800 number falls) in the header of the call signals. An STP examines the call signals, determines from a routing table based on the identifier that the call signals should go to either SCP A or B, and then routes the signal thereto. SCP A or B then processes the call signals in order to establish and maintain the 1-800 or other toll free call for the caller. In the event of a failure of the primary SCP, the routing node routes the call signal to the backup SCP.
However, this method of populating the header of the call signal with a string identifying the destination network control element does not work very well for services with multiple call signals during the life of a telephone call. This is because the call signals can come from different network components which do not use signal headers at all or do not use the same signal formats or consistent strings identifying the destination control element, for example, as in certain prepaid service. As such, the intermediary routing node may not reliably identify an appropriate destination network control element and properly route the signal thereto.
One solution to this problem has been to use only one network control element for all call signals regardless of the service associated with the signal, with the remaining control elements as backups if the one element fails. The primary control element then gets all the call signals from different sources and groups together those belonging to the same telephone call. If the primary element fails, one of the backup elements then receives all the call signals.
This solution, however, is not very efficient because several of the control elements are idle and are only used when there is a primary element failure, while the primary control element works constantly. This is an inefficient use of network resources. Moreover, after sitting idle, there is no guarantee that a backup control element could take over and operate properly, in the event of a primary element failure. What is needed is a way to effectively balance the signals between the control elements and still be able to reliably group together those call signals belonging to the same telephone call and service. If a backup control element is more active, it is more likely to reliably take over and perform properly.
Accordingly, there is a need in the art for a system and method for reliably handling multiple call signals during the life of a telephone call using several network control elements.